#pragma once
#pragma comment(lib, "shlwapi.lib")
#include <iostream>
#include <string>
#include <vector>
#include <windows.h>
#include <Shlwapi.h>
#include "Validator.h"
#include "Table.h"

using namespace std;

class Database
{
public:
	Database(const string &);
	~Database(void);

	string get_name() const;
	vector<string> list_tables();
	Table* load_table(const bool&);
	bool table_exists(const string& t_name);
	void save();
	void truncate();
	void drop(const bool& all);
	bool empty() const;

private:
	string name;

	vector<Table*> table;

	string tname_from_fname(const string &) const;
};

